/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package mnstudent.datatranferobject;

import java.sql.Date;
import java.util.ArrayList;
import java.util.Objects;

/**
 * Class name: StudentDTO
 * Description: 30/04/2014
 * @author lee
 */
public class StudentDTO {
     
    // <editor-fold defaultstate="collapsed" desc=" Attributes ">
    private String m_StudentID;
    private String m_FullName;
    private Date   m_DateOfBirth;
    private String m_Gender;
    private String m_District;
    private String m_Province;
    private String m_MajorID;
    private int m_AdmissionYear;
    private String m_StateID;
    private ArrayList<PriorityObjectDTO> m_ListPriorityObject;
    // </editor-fold>

    // <editor-fold defaultstate="collapsed" desc=" Properties ">
    public String getStudentID(){ 
        return this.m_StudentID;
    }
    
    public void setStudentID(String strStudentID){
        this.m_StudentID = strStudentID;
    }
    
    public String getFullName(){ 
        return this.m_FullName;
    }
    
    public void setFullName(String strFullName){ 
        this.m_FullName = strFullName;
    }
    
    public Date getDayOfBirth(){
        return this.m_DateOfBirth;
    }
    
    public void setDayOfBirth(Date dtDayOfBirth){ 
        this.m_DateOfBirth = dtDayOfBirth;
    }
    
    public String getGender() {
        return this.m_Gender;
    }
    
    public void setGender(String strGender) {
        this.m_Gender = strGender;
    }
    
    public String getDistrict() {
        return this.m_District;
    }
    
    public void setDistrict(String strDistrict) {
        this.m_District = strDistrict;
    }
    
    public String getMajorID() {
        return this.m_MajorID;
    }
    
    public void setMajorID(String strMajorID) {
        this.m_MajorID = strMajorID;
    }
    
    public String getProvince() {
        return m_Province;
    }

    public void setProvince(String strProvince) {
        this.m_Province = strProvince;
    }

    public int getAdmissionYear() {
        return m_AdmissionYear;
    }

    public void setAdmissionYear(int iAdmissionYear) {
        this.m_AdmissionYear = iAdmissionYear;
    }

    public String getStateID() {
        return m_StateID;
    }

    public ArrayList<PriorityObjectDTO> getM_ListPriorityObject() {
        return m_ListPriorityObject;
    }

    public void setM_ListPriorityObject(ArrayList<PriorityObjectDTO> m_ListPriorityObject) {
        this.m_ListPriorityObject = m_ListPriorityObject;
    }
   
     // </editor-fold>
    
    //<editor-fold defaultstate="collapsed" desc=" Method ">
    public StudentDTO(){
        
    }

    public StudentDTO(String strStudentID, String strFullName, String strGender, 
            Date dtDayOfBirth, String strDistrict, String strProvince,
            String strMajorID, int iAdmissionYear, String strStateID){
        this.m_StudentID = strStudentID;
        this.m_FullName = strFullName;
        this.m_DateOfBirth = dtDayOfBirth;
        this.m_Gender = strGender;
        this.m_District = strDistrict;
        this.m_Province = strProvince;
        this.m_MajorID = strMajorID;
        this.m_AdmissionYear = iAdmissionYear;
        this.m_StateID = strStateID;
    }
        
    public StudentDTO(String strStudentID, String strFullName, String strGender,
            Date dtDayOfBirth, String strDistrict, String strProvince,
            String strMajorID, int iAdmissionYear, String strStateID,
            ArrayList<PriorityObjectDTO> listPriorityObject){
        this.m_StudentID = strStudentID;
        this.m_FullName = strFullName;
        this.m_DateOfBirth = dtDayOfBirth;
        this.m_Gender = strGender;
        this.m_District = strDistrict;
        this.m_Province = strProvince;
        this.m_MajorID = strMajorID;
        this.m_AdmissionYear = iAdmissionYear;
        this.m_StateID = strStateID;
        this.m_ListPriorityObject = listPriorityObject;
    }
    @Override
    public String toString() {
        return m_FullName;
    }

    public void setStateID(String strStateID) {
        this.m_StateID = strStateID;
    }

    @Override
    public int hashCode() {
        int hash = 7;
        hash = 47 * hash + Objects.hashCode(this.m_StudentID);
        hash = 47 * hash + Objects.hashCode(this.m_FullName);
        hash = 47 * hash + Objects.hashCode(this.m_DateOfBirth);
        hash = 47 * hash + Objects.hashCode(this.m_Gender);
        hash = 47 * hash + Objects.hashCode(this.m_District);
        hash = 47 * hash + Objects.hashCode(this.m_Province);
        hash = 47 * hash + Objects.hashCode(this.m_MajorID);
        hash = 47 * hash + this.m_AdmissionYear;
        hash = 47 * hash + Objects.hashCode(this.m_StateID);
        return hash;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final StudentDTO other = (StudentDTO) obj;
        if (!Objects.equals(this.m_StudentID, other.m_StudentID)) {
            return false;
        }
        if (!Objects.equals(this.m_FullName, other.m_FullName)) {
            return false;
        }
        if (!Objects.equals(this.m_DateOfBirth, other.m_DateOfBirth)) {
            return false;
        }
        if (!Objects.equals(this.m_Gender, other.m_Gender)) {
            return false;
        }
        if (!Objects.equals(this.m_District, other.m_District)) {
            return false;
        }
        if (!Objects.equals(this.m_Province, other.m_Province)) {
            return false;
        }
        if (!Objects.equals(this.m_MajorID, other.m_MajorID)) {
            return false;
        }
        if (this.m_AdmissionYear != other.m_AdmissionYear) {
            return false;
        }
        if (!Objects.equals(this.m_StateID, other.m_StateID)) {
            return false;
        }
        return true;
    }
      
    //</editor-fold>
}
